# RUN: llvm-mc -triple arm64-apple-darwin --disassemble < %s | FileCheck %s


#-----------------------------------------------------------------------------
# Hint encodings
#-----------------------------------------------------------------------------

  0x1f 0x20 0x03 0xd5
# CHECK: nop
  0x9f 0x20 0x03 0xd5
# CHECK: sev
  0xbf 0x20 0x03 0xd5
# CHECK: sevl
  0x5f 0x20 0x03 0xd5
# CHECK: wfe
  0x7f 0x20 0x03 0xd5
# CHECK: wfi
  0x3f 0x20 0x03 0xd5
# CHECK: yield

#-----------------------------------------------------------------------------
# Single-immediate operand instructions
#-----------------------------------------------------------------------------

  0x5f 0x3a 0x03 0xd5
# CHECK: clrex #10
  0xdf 0x3f 0x03 0xd5
# CHECK: isb{{$}}
  0xdf 0x31 0x03 0xd5
# CHECK: isb #1
  0xbf 0x33 0x03 0xd5
# CHECK: dmb osh
  0x9f 0x37 0x03 0xd5
# CHECK: dsb nsh
  0x3f 0x76 0x08 0xd5
# CHECK: dc ivac

#-----------------------------------------------------------------------------
# Generic system instructions
#-----------------------------------------------------------------------------
  0xff 0x05 0x0a 0xd5
  0xe7 0x6a 0x0f 0xd5
  0xf4 0x3f 0x2e 0xd5
  0xbf 0x40 0x00 0xd5
  0x00 0xb0 0x18 0xd5
  0x00 0xb0 0x38 0xd5

# CHECK: sys #2, c0, c5, #7
# CHECK: sys #7, c6, c10, #7, x7
# CHECK: sysl  x20, #6, c3, c15, #7
# CHECK: msr  SPSel, #0
# CHECK: msr S3_0_C11_C0_0, x0
# CHECK: mrs x0, S3_0_C11_C0_0

  0x40 0xc0 0x1e 0xd5
  0x40 0xc0 0x1c 0xd5
  0x40 0xc0 0x18 0xd5

# CHECK: msr RMR_EL3, x0
# CHECK: msr RMR_EL2, x0
# CHECK: msr RMR_EL1, x0

